package com.elvin.platform.beans;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import java.io.Serializable;


@JsonIgnoreProperties(ignoreUnknown = true)
public class DeviceVerification implements Serializable {
    private static final long serialVersionUID = 1L;
    private msg msg;
    private String signature;
    private Long time;
    private String id;
    private String nonce;


  public DeviceVerification.msg getMsg() {
    return msg;
  }

  public void setMsg(DeviceVerification.msg msg) {
    this.msg = msg;
  }

  public String getSignature() {
    return signature;
  }

  public void setSignature(String signature) {
    this.signature = signature;
  }

  public Long getTime() {
    return time;
  }

  public void setTime(Long time) {
    this.time = time;
  }

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getNonce() {
    return nonce;
  }

  public void setNonce(String nonce) {
    this.nonce = nonce;
  }

  @Override
  public String toString() {
    return "DeviceVerification{" +
        "msg=" + msg.toString() +
        ", signature='" + signature + '\'' +
        ", time=" + time +
        ", id='" + id + '\'' +
        ", nonce='" + nonce + '\'' +
        '}';
  }

  public static class msg implements Serializable{
      private String projectId;
      private String productId;
      private String deviceName;
      private String messageType;
      private String notifyType;
      private String imei;
      private data data;

      public String getProjectId() {
        return projectId;
      }

      public void setProjectId(String projectId) {
        this.projectId = projectId;
      }

      public String getProductId() {
        return productId;
      }

      public void setProductId(String productId) {
        this.productId = productId;
      }

      public String getDeviceName() {
        return deviceName;
      }

      public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
      }

      public String getMessageType() {
        return messageType;
      }

      public void setMessageType(String messageType) {
        this.messageType = messageType;
      }

      public String getNotifyType() {
        return notifyType;
      }

      public void setNotifyType(String notifyType) {
        this.notifyType = notifyType;
      }

      public String getImei() {
        return imei;
      }

      public void setImei(String imei) {
        this.imei = imei;
      }

      public DeviceVerification.data getData() {
        return data;
      }

      public void setData(DeviceVerification.data data) {
        this.data = data;
      }

    @Override
    public String toString() {
      return "msg{" +
          "projectId='" + projectId + '\'' +
          ", productId='" + productId + '\'' +
          ", deviceName='" + deviceName + '\'' +
          ", messageType='" + messageType + '\'' +
          ", notifyType='" + notifyType + '\'' +
          ", imei='" + imei + '\'' +
          ", data=" + data.toString() +
          '}';
    }
  }

  public static class  data implements Serializable{
    private String id;
    private String version;
    private JSONObject params;

    public String getId() {
      return id;
    }

    public void setId(String id) {
      this.id = id;
    }

    public String getVersion() {
      return version;
    }

    public void setVersion(String version) {
      this.version = version;
    }

    public JSONObject getParams() {
      return params;
    }

    public void setParams(JSONObject params) {
      this.params = params;
    }

    @Override
    public String toString() {
      return "data{" +
          "id='" + id + '\'' +
          ", version='" + version + '\'' +
          ", params=" + params +
          '}';
    }
  }
}
